Platform Explorer / Nuxeo Platform 2023.10

Operation RunOperationOnList (Run For Each)

Description

Run an operation for each element from the list defined by the 'list' parameter. The 'list' parameter is pointing to a context variable that represents the list which will be iterated. The 'item' parameter represents the name of the context variable which will point to the current element in the list at each iteration. You can use the 'isolate' parameter to specify whether or not the evalution context is the same as the parent context or a copy of it. If the 'isolate' parameter is 'true' then a copy of the current context is used and so that modifications in this context will not affect the parent context. Any input is accepted. The input is returned back as output when operation terminates. The 'parameters' injected are accessible in the subcontext ChainParameters. For instance, @{ChainParameters['parameterKey']}.
Operation id RunOperationOnList
AliasesContext.RunOperationOnList
Category Execution Flow
Label Run For Each
Requires
Since

Parameters

Name Description Type Required Default value
id string yes  
list string yes  
isolate boolean no true 
item string no item 
newTx Define if the chain in parameter should be executed in new transaction. boolean no false 
parameters Accessible in the subcontext ChainParameters. For instance, @{ChainParameters['parameterKey']}. properties no  
rollbackGlobalOnError Define if transaction should rollback or not (default to true) boolean no true 
timeout Define transaction timeout (default to 60 sec). integer no  

Signature

Inputs void
Outputs void

Implementation Information

Implementation Class Class: org.nuxeo.ecm.automation.core.operations.execution.RunOperationOnList
Contributing Component org.nuxeo.ecm.core.automation.coreContrib

JSON Definition

{
  "id" : "RunOperationOnList",
  "aliases" : [ "Context.RunOperationOnList" ],
  "label" : "Run For Each",
  "category" : "Execution Flow",
  "requires" : null,
  "description" : "Run an operation for each element from the list defined by the 'list' parameter. The 'list' parameter is pointing to a context variable that represents the list which will be iterated. The 'item' parameter represents the name of the context variable which will point to the current element in the list at each iteration. You can use the 'isolate' parameter to specify whether or not the evalution context is the same as the parent context or a copy of it. If the 'isolate' parameter is 'true' then a copy of the current context is used and so that modifications in this context will not affect the parent context. Any input is accepted. The input is returned back as output when operation terminates. The 'parameters' injected are accessible in the subcontext ChainParameters. For instance, @{ChainParameters['parameterKey']}.",
  "url" : "RunOperationOnList",
  "signature" : [ "void", "void" ],
  "params" : [ {
    "name" : "id",
    "description" : null,
    "type" : "string",
    "required" : true,
    "widget" : null,
    "order" : 0,
    "values" : [ ]
  }, {
    "name" : "list",
    "description" : null,
    "type" : "string",
    "required" : true,
    "widget" : null,
    "order" : 0,
    "values" : [ ]
  }, {
    "name" : "isolate",
    "description" : null,
    "type" : "boolean",
    "required" : false,
    "widget" : null,
    "order" : 0,
    "values" : [ "true" ]
  }, {
    "name" : "item",
    "description" : null,
    "type" : "string",
    "required" : false,
    "widget" : null,
    "order" : 0,
    "values" : [ "item" ]
  }, {
    "name" : "newTx",
    "description" : "Define if the chain in parameter should be executed in new transaction.",
    "type" : "boolean",
    "required" : false,
    "widget" : null,
    "order" : 0,
    "values" : [ "false" ]
  }, {
    "name" : "parameters",
    "description" : "Accessible in the subcontext ChainParameters. For instance, @{ChainParameters['parameterKey']}.",
    "type" : "properties",
    "required" : false,
    "widget" : null,
    "order" : 0,
    "values" : [ ]
  }, {
    "name" : "rollbackGlobalOnError",
    "description" : "Define if transaction should rollback or not (default to true)",
    "type" : "boolean",
    "required" : false,
    "widget" : null,
    "order" : 0,
    "values" : [ "true" ]
  }, {
    "name" : "timeout",
    "description" : "Define transaction timeout (default to 60 sec).",
    "type" : "integer",
    "required" : false,
    "widget" : null,
    "order" : 0,
    "values" : [ ]
  } ]
}